//op1.0
#ifndef BUFFER_H
#define BUFFER_H
#include <string.h>
#include "token.h"
#include "allerr.h"
string buffer;
int buff_tot;
void clear_buffer()
{
	buff_tot=0;
	buffer = string();
	return;
}
void push_buffer(int c)
{
	if(buff_tot==1024)range_error("buffer",33,-2);
	buffer.push_back(char(c));
}
int GetNumber()
{
	int n=0;
	const char* p = buffer.c_str();
	while(*p!=0)
	{
		n=(n<<3)+(n<<1)+*p-0x30;
		p++;
	}
	return n;
}
token check_keywordC()
{
	int i;
	for(i=0;KeywordsC[i][0]!='#';i++)
	{
		if (buffer == KeywordsC[i])
			return KEYWORD;
	}
	for(i=0;TypeWordsC[i][0]!='#';i++)
	{
		if (buffer == TypeWordsC[i])
			return TYPEINC;
	}
	return ID;
}
token check_keywordD()
{
	int i;
	for(i=0;KeywordsD[i][0]!='#';i++)
	{
		if (buffer == KeywordsD[i])
			return KEYWORD;
	}
	return ID;
}
#endif
